18 research outputs found
ADsafety: Type-Based Verification of JavaScript Sandboxing
Web sites routinely incorporate JavaScript programs from several sources into
a single page. These sources must be protected from one another, which requires
robust sandboxing. The many entry-points of sandboxes and the subtleties of
JavaScript demand robust verification of the actual sandbox source. We use a
novel type system for JavaScript to encode and verify sandboxing properties.
The resulting verifier is lightweight and efficient, and operates on actual
source. We demonstrate the effectiveness of our technique by applying it to
ADsafe, which revealed several bugs and other weaknesses.Comment: in Proceedings of the USENIX Security Symposium (2011
Event Loops as First-Class Values: A Case Study in Pedagogic Language Design
The World model is an existing functional input-output mechanism for
event-driven programming. It is used in numerous popular textbooks and
curricular settings. The World model conflates two different tasks -- the
definition of an event processor and its execution -- into one. This conflation
imposes a significant (even unacceptable) burden on student users in several
educational settings where we have tried to use it, e.g., for teaching physics.
While it was tempting to pile on features to address these issues, we instead
used the Scheme language design dictum of removing weaknesses that made them
seem necessary. By separating the two tasks above, we arrived at a slightly
different primitive, the reactor, as our basis. This only defines the event
processor, and a variety of execution operators dictate how it runs. The new
design enables programmatic control over event-driven programs. This simplifies
reflecting on program behavior, and eliminates many unnecessary curricular
dependencies imposed by the old design. This work has been implemented in the
Pyret programming language. The separation of concerns has enabled new
curricula, such as the Bootstrap:Physics curriculum, to take flight. Thousands
of students use this new mechanism every year. We believe that reducing
impedance mismatches improves their educational experience